package net.pimpas.transformation.serviceprovider;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Reader;
import java.io.Writer;

import net.pimpas.core.serviceprovider.ServiceProvider;
import net.pimpas.transformation.serviceprovider.exception.TransformationServiceProviderException;

public interface TransformationServiceProvider<T, J> extends ServiceProvider {
	
	T to(J object, Object... parameters) throws TransformationServiceProviderException;
	J from(T object, Object... parameters) throws TransformationServiceProviderException;
	ObjectOutputStream createObjectOutputStream( Writer object ) throws TransformationServiceProviderException;
	ObjectInputStream createObjectInputStream( Reader object ) throws TransformationServiceProviderException;

}